package com.stylefeng.guns.common.persistence.model;

import java.io.Serializable;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.enums.IdType;

import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.stylefeng.guns.common.annotion.EmpCode;
import com.stylefeng.guns.common.annotion.Point;
import com.stylefeng.guns.common.annotion.PointType;
import com.stylefeng.guns.common.annotion.Year;
import com.stylefeng.guns.common.constant.PointConstType;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 
 * </p>
 *
 * @author jondai
 * @since 2018-01-11
 */
@PointType(PointConstType.contestPoints)
@TableName("contest_points")
public class ContestPoints extends Model<ContestPoints> implements Serializable{

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
	@TableId(value="id", type= IdType.UUID)
	private String id;
	/**
	 * 年度
	 */
	@Year
	@TableField("year")
	@Excel(name = "年度",width = 22)
	private String year;
    /**
     * 员工编号
     */
	@EmpCode
	@TableField("emp_code")
	@Excel(name = "员工编号",width = 20)
	private String empCode;
	/**
	 * 员工姓名
	 */
	@TableField("emp_name")
	@Excel(name = "员工姓名",width = 20)
	private String empName;
    /**
     * 公司级别
     */
	@TableField("company_type")
	@Excel(name = "级别",width = 20)
	private String companyType;
    /**
     * 公司级别编码
     */
	@TableField("company_type_code")
	private String companyTypeCode;
    /**
     * 竞赛类型
     */
	@TableField("contest_type")
	@Excel(name = "竞赛类型",width = 20)
	private String contestType;
    /**
     * 竞赛类型编码
     */
	@TableField("contest_type_code")
	private String contestTypeCode;
    /**
     * 获奖名次
     */
	@TableField("win_type")
	@Excel(name = "获奖名次",width = 20)
	private String winType;
    /**
     * 获奖名次编码
     */
	@TableField("win_type_code")
	private String winTypeCode;
    /**
     * 时间
     */
	@TableField("contest_date")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date contestDate;
    /**
     * 积分
     */
    @Point
	@Excel(name = "积分",width = 15)
	private Double integral;
    /**
     * 创建时间
     */
	@TableField("create_date")
	private Date createDate;
	/**
	 * 数据来源
	 */
	@TableField("data_origin")
	private String dataOrigin;


	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getEmpName() {
		return empName;
	}

	public void setEmpName(String empName) {
		this.empName = empName;
	}

	public String getEmpCode() {
		return empCode;
	}

	public void setEmpCode(String empCode) {
		this.empCode = empCode;
	}

	public String getCompanyType() {
		return companyType;
	}

	public void setCompanyType(String companyType) {
		this.companyType = companyType;
	}

	public String getCompanyTypeCode() {
		return companyTypeCode;
	}

	public void setCompanyTypeCode(String companyTypeCode) {
		this.companyTypeCode = companyTypeCode;
	}

	public String getContestType() {
		return contestType;
	}

	public void setContestType(String contestType) {
		this.contestType = contestType;
	}

	public String getContestTypeCode() {
		return contestTypeCode;
	}

	public void setContestTypeCode(String contestTypeCode) {
		this.contestTypeCode = contestTypeCode;
	}

	public String getWinType() {
		return winType;
	}

	public void setWinType(String winType) {
		this.winType = winType;
	}

	public String getWinTypeCode() {
		return winTypeCode;
	}

	public void setWinTypeCode(String winTypeCode) {
		this.winTypeCode = winTypeCode;
	}

	public Date getContestDate() {
		return contestDate;
	}

	public void setContestDate(Date contestDate) {
		this.contestDate = contestDate;
	}

	public Double getIntegral() {
		return integral;
	}

	public void setIntegral(Double integral) {
		this.integral = integral;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getDataOrigin() {
		return dataOrigin;
	}

	public String getYear() {
		return year;
	}

	public void setYear(String year) {
		this.year = year;
	}

	public void setDataOrigin(String dataOrigin) {


		this.dataOrigin = dataOrigin;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "ContestPoints{" +
				"id=" + id +
				", empName='" + empName + '\'' +
				", empCode='" + empCode + '\'' +
				", companyType='" + companyType + '\'' +
				", companyTypeCode='" + companyTypeCode + '\'' +
				", contestType='" + contestType + '\'' +
				", contestTypeCode='" + contestTypeCode + '\'' +
				", winType='" + winType + '\'' +
				", winTypeCode='" + winTypeCode + '\'' +
				", contestDate=" + contestDate +
				", integral=" + integral +
				", createDate=" + createDate +
				", dataOrigin='" + dataOrigin + '\'' +
				", year='" + year + '\'' +
				'}';
	}
}
